﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <iostream>
using namespace std;
#include <vector>

//int main()
//{
//	vector<int> arr;
//	arr.push_back(1);
//	arr.push_back(2);
//	arr.push_back(3);
//	arr.push_back(3);
//	arr.push_back(3);
//	arr.push_back(3);
//	arr.push_back(4);
//
//	vector<int>::iterator it = arr.begin();
//	for (; it != arr.end(); it++)
//	{
//		if (*it == 3)
//		{
//			it = arr.erase(it);
//		}
//	}
//
//	
//
//	it = arr.begin();
//	while (it != arr.end())
//	{
//		cout << *it << endl;
//		it++;
//	}
//
//	return 0;
//}

//int main()
//{
//	vector<int> arr;
//	arr.push_back(1);
//	arr.push_back(2);
//	arr.push_back(3);
//	arr.push_back(4);
//	arr.push_back(5);
//
//	// 错误
//	//arr.at(5); // at会做越界检查：大于等于size
//
//	return 0;
//}

//int main()
//{
//	int ar[] = { 1,2,3,4,5,6,7,8,9,10, 11, 12, 13, 14, 15 };
//	int n = sizeof(ar) / sizeof(int);
//
//	vector<int> v1;
//	cout << v1.size() << ':' << v1.capacity() << endl;
//
//	vector<int> v2(20, 1.1);
//	cout << v2.size() << ':' << v2.capacity() << endl;
//	for (size_t i = 0; i < v2.size(); i++)
//	{
//		cout << v2[i] << ' ';
//	}
//	cout << endl;
//
//	vector<int> v(ar, ar + n);
//	cout << v.size() << ":" << v.capacity() << endl;
//	v.reserve(100);
//	v.resize(20);
//	cout << v.size() << ":" << v.capacity() << endl;
//	v.reserve(50);
//	v.resize(30);
//	cout << v.size() << ":" << v.capacity() << endl;
//
//	vector<int> v3(v);
//	auto it1 = v3.begin();
//	while (it1 != v3.end())
//	{
//		cout << *it1 << ' ';
//		it1++;
//	}
//	cout << endl;
//
//	return 0;
//}